/*
GAME RULES:

- The game has 2 players, playing in rounds
- In each turn, a player rolls a dice as many times as he whishes. Each result get added to his ROUND score
- BUT, if the player rolls a 1, all his ROUND score gets lost. After that, it's the next player's turn
- The player can choose to 'Hold', which means that his ROUND score gets added to his GLBAL score. After that, it's the next player's turn
- The first player to reach 100 points on GLOBAL score wins the game

*/



var scores, roundScore, activePlayer, dice, gamePlaying;





// textContent里面不能放html的内容，如果要放html元素，需要用innerHTML
// document.querySelector('#xx').innerHTML = '<div>xx<div>';

// 改变style
// document.querySelector('.dice').style.display = 'none';


reset();


document.querySelector('.btn-roll').addEventListener('click', () => {

    if (!gamePlaying) {
        return;
    }

    // 1. Random number
    var dice = Math.floor(Math.random() * 6) + 1;

    // 2. Display the result
    var diceDOM = document.querySelector('.dice');
    diceDOM.style.display = 'block';
    diceDOM.src = 'dice-' + dice + '.png';


    // 3. Update the round score IF the rolled number was NOT a 1
    if (dice === 1) {
        nextPlayer();
    }else {
        roundScore += dice;
        document.querySelector('#current-' + activePlayer).textContent = roundScore;
    }
});

document.querySelector('.btn-hold').addEventListener('click', () => {

    if (!gamePlaying) {
        return;
    }

    // Add CURRENT score to Global score
    scores[activePlayer] += roundScore;

    // Update the UI
    document.querySelector('#score-' + activePlayer).textContent = scores[activePlayer];

    // Check if player won the game

    if (scores[activePlayer] >= 20) {
        document.querySelector('#name-' + activePlayer).textContent = 'Winner';
        document.querySelector(".player-" + activePlayer + '-panel').classList.add('winner');
        document.querySelector(".player-" + activePlayer + '-panel').classList.remove('active');

        document.querySelector('.dice').style.display = 'none';

        gamePlaying = false;

    } else {
        nextPlayer();
    }
});

document.querySelector('.btn-new').addEventListener('click', reset);



function reset() {
    document.getElementById('score-0').textContent = '0';
    document.getElementById('score-1').textContent = '0';
    document.getElementById('current-0').textContent = '0';
    document.getElementById('current-1').textContent = '0';

    document.getElementById('name-0').textContent = 'Player 1';
    document.getElementById('name-1').textContent = 'Player 2';

    scores = [0, 0];
    roundScore = 0;
    activePlayer = 0;           // 当前的player
    gamePlaying = true;

    document.querySelector('.dice').style.display = 'none';
    
    document.querySelector('.player-0-panel').classList.remove('winner');
    document.querySelector('.player-1-panel').classList.remove('winner');
    document.querySelector('.player-0-panel').classList.remove('active');
    document.querySelector('.player-1-panel').classList.remove('active');

    document.querySelector('.player-0-panel').classList.add('active');

}

function changeActivePanel() {
    document.querySelector('.player-0-panel').classList.toggle('active');
    document.querySelector('.player-1-panel').classList.toggle('active');
}

function nextPlayer() {
    document.querySelector('#current-' + activePlayer).textContent = 0;
    document.querySelector('.dice').style.display = 'none';
    changeActivePanel();
    activePlayer = (activePlayer === 0 ? 1 : 0);
    roundScore = 0;
}